// 定义主函数 main
function main() {
  // 当页面加载完成后执行
  $(document).ready(function () {
    var originalData = {}; // 存储原始数据

    // 预填写原有的个人信息
    function fillPersonalInfo() {
      var username = $('#display-username').text();
      var joinDate = $('#display-join-date').text();
      var bio = $('#display-bio').text();
      var avatar = $('#profile-image').attr('src'); // 获取头像的原始数据

      // 存储原始数据
      originalData.username = username;
      originalData.joinDate = joinDate;
      originalData.bio = bio;
      originalData.avatar = avatar; // 保存头像的原始数据

      $('#modal-username').val(username);
      $('#modal-join-date').val(joinDate);
      $('#modal-bio').val(bio);
    }

    // 打开编辑模态框的函数
    function openEditModal() {
      fillPersonalInfo(); // 预填写原有的个人信息
      $('#modal-background').show();
    }

    // 预览头像的函数
    function previewAvatar(event) {
      var reader = new FileReader();
      reader.onload = function(){
        $('#profile-image').attr('src', reader.result);
      };
      reader.readAsDataURL(event.target.files[0]);
    }

    // 取消编辑的函数
    function cancelEdit() {
      // 还原数据为原始数据
      $('#modal-username').val(originalData.username);
      $('#modal-join-date').val(originalData.joinDate);
      $('#modal-bio').val(originalData.bio);

      // 恢复到上一次保存的头像
      if (originalData.avatar) {
        $('#profile-image').attr('src', originalData.avatar);
      }

      // 关闭模态框
      $('#modal-background').hide();
    }

    // 保存更改的函数
    function saveChanges() {
      // 获取输入的新个人信息
      var newUsername = $('#modal-username').val();
      var newJoinDate = $('#modal-join-date').val();
      var newBio = $('#modal-bio').val();
      console.log(newUsername);
      // 构建包含个人信息的对象
      var userInfo = {
        username: newUsername,
        joinDate: newJoinDate,
        bio: newBio,
        avatar: originalData.avatar // 使用原始数据中的头像信息
      };

      // 发送 POST 请求将个人信息对象发送到服务器
      $.ajax({
        url: 'http://localhost:8080/edit?type=person',
        type: 'POST',
        contentType: 'application/json',
        data: JSON.stringify(userInfo),
        success: function (response) {
          // 处理成功响应
          console.log('User info updated successfully:', response);
        },
        error: function (xhr, status, error) {
          // 处理错误响应
          console.error('Failed to update user info:', error);
          // 显示错误消息提示用户
          alert('Failed to update user info. Please try again later.');
        }
      });

      // 更新页面上的个人信息
      $('#display-username').text(newUsername);
      $('#display-join-date').text(newJoinDate);
      $('#display-bio').text(newBio);

      // 更新上传的头像数据
      originalData.avatar = $('#profile-image').attr('src');

      // 关闭模态框
      cancelEdit();
    }
    // 绑定事件处理函数
    $('.edit-profile-btn').click(openEditModal);
    $('#avatar-input').change(previewAvatar);
    $('#cancel-button').click(cancelEdit);
    $('#save-button').click(saveChanges);
    $('.content').on('click', '.edit-profile-btn', openEditModal);
  });
}
function man(){

  $.ajax({
    url: 'http://localhost:8080/avatar',
    type: 'GET',
    dataType: 'json', // 预期的服务器响应的数据类型
    success: function (response) {
      // 处理成功响应
      console.log('User info updated successfully:', response);
      $('#display-username').text(response.username);
      $('#display-join-date').text(response.joinDate);
      $('#display-bio').text(response.BIO);
      
    },
    error: function (xhr, status, error) {
      // 处理错误响应
      console.error('Failed to update user info:', error);
      // 显示错误消息提示用户
      alert('Failed to update user info. Please try again later.');
    }
  });
}
// 导出主函数 main
export { main ,man};
